package com.zhengshang.api.mapper;

import java.util.List;
import java.util.Map;

import com.zhengshang.api.domain.AppPayRecord;
import com.zhengshang.api.domain.OilcardAppPayRecord;
import com.zhengshang.api.domain.ThirdCloumnAppPayRecord;

/**
 * APP交易记录Mapper接口
 *
 * @author zhengshang
 * @date 2021-03-29
 */
public interface AppPayRecordMapper
{
    /**
     * 查询APP交易记录
     *
     * @param recordId APP交易记录ID
     * @return APP交易记录
     */
    public AppPayRecord selectAppPayRecordById(Long recordId);

    /**
     * 查询APP交易记录
     *
     * @param orderNum APP交易记录订单号
     * @return APP交易记录
     */
    public AppPayRecord selectAppPayRecordByOrderNum(String orderNum);

    /**
     * 查询APP交易记录列表
     *
     * @param appPayRecord APP交易记录
     * @return APP交易记录集合
     */
    public List<AppPayRecord> selectAppPayRecordList(AppPayRecord appPayRecord);

    /**
     * 新增APP交易记录
     *
     * @param appPayRecord APP交易记录
     * @return 结果
     */
    public int insertAppPayRecord(AppPayRecord appPayRecord);

    /**
     * 修改APP交易记录
     *
     * @param appPayRecord APP交易记录
     * @return 结果
     */
    public int updateAppPayRecord(AppPayRecord appPayRecord);

    /**
     * 删除APP交易记录
     *
     * @param recordId APP交易记录ID
     * @return 结果
     */
    public int deleteAppPayRecordById(Long recordId);

    /**
     * 批量删除APP交易记录
     *
     * @param recordIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteAppPayRecordByIds(Long[] recordIds);

    /**
     * 取消交易
     *
     * @param appPayRecord APP交易记录
     * @return 结果
     */
    public int cancelOrder(AppPayRecord appPayRecord);

    /**
     * 查询APP交易记录列表
     *
     * @param appPayRecord APP交易记录
     * @return APP交易记录集合
     */
    public List<AppPayRecord> queryListOrderby(AppPayRecord appPayRecord);

    /**
     * 查询APP油卡交易记录列表
     *
     * @param appPayRecord
     * @return APP交易记录集合
     */
    public List<OilcardAppPayRecord> queryOilcardOrderby(AppPayRecord appPayRecord);


    /**
     * 查询APP油卡交易记录列表
     *
     * @param appPayRecord
     * @return APP交易记录集合
     */
    public List<ThirdCloumnAppPayRecord> queryThirdColumnOrderby(AppPayRecord appPayRecord);


    List<Map> queryThirdColumnOrderList(Map params);
}